/*
 * structs.h
 *
 *  Created on: Jan 30, 2013
 *      Author: baneling
 */

#ifndef _STRUCTS_H_
#define _STRUCTS_H_

#define PINK 16761035
#define ORANGE 16753920

#define RADIUSCONSTANTCONVERSION 57.2957796

#define DISCOUNTFACTOR 0.7
#define LEARNRATE 2
#define HEAVYLEARN 1
#define LIGHTLEARN 0.5
#define NEGLEARN -1

#define HMAX 5
#define WMAX 6
#define MAXTEMP 30
#define TRASHOLDTEMP 25

#define IMAGERATIO 10

#define BLACK 0
#define WHITE 255

struct learningVal_s
{
	double qVal;
	int refreshCount;
	double bias;
}typedef learnVal_t;

struct state_s
{
	int x;
	int y;
	bool fl1;//flag orange
	bool fl2;//flag pink
}typedef state_t;

struct qItem_s
{
	state_t state;
	int angle;
	learnVal_t lv;
}typedef qItem_t;

struct qGroup_s
{
	qItem_t su;
	qItem_t giu;
	qItem_t sx;
	qItem_t dex;
}typedef qGroup_t;

struct qFamily_s
{
	qGroup_t both;
	qGroup_t pink;
	qGroup_t orange;
	qGroup_t none;
}typedef qFam_t;

struct cordinates_s
{
	double yaw;
	double x;
	double y;
}typedef coordinates_t;

#endif /* STRUCTS_H_ */
